<?php

namespace haibao\erp\model\data\user;

class User extends \haibao\erp\model\data\base{
	/**
	 * 管理员
	 */
	const PERMISSION_ADMIN = 1;
	/**
	 * 部门经理
	 */
	const PERMISSION_MANAGER = 2;
	/**
	 * 普通员工
	 */
	const PERMISSION_EMPLOYEE = 3;
	
	/**
	 * 部门总监
	 */
	const PERMISSION_CHIEF  = 4;
	
	/**
	 * 正常
	 */
	const STATUS_ENABLE = 1;
	/**
	 * 离职
	 */
	const STATUS_DIMISSION = 2;
	/**
	 * 强制更新密码
	 */
	const STATUS_FORCE_CHANGE_PASSWORD = 3;
	/**
	 * 冻结
	 */
	const STATUS_FROZEN = 0;
	
	/**
	 * 编辑
	 */
	const JOB_TYPE_EDITOR = 1;
	
	/**
	 * 技术
	 */
	const JOB_TYPE_TECH = 2;
	
	/**
	 * 产品
	 */
	const JOB_TYPE_DESIGN = 3;
	
	/**
	 * 销售
	 */
	const JOB_TYPE_SALER = 4;
	
	/**
	 * 市场
	 */
	const JOB_TYPE_MARKET = 5;
	
	/**
	 * 人事
	 */
	const JOB_TYPE_HR = 6;
	
	/**
	 * 其他
	 */
	const JOB_TYPE_OTHER = 9;
	
	/**
	 * 加班是否有薪资
	 */
	const IS_SALARY_NO = 0;
	const IS_SALARY_YES = 1;
	
	/**
	 * 非固定制工作日
	 */
	const IS_FIXED_WORK_NOT = 0;
	const IS_FIXED_WORK_YES = 1;
	/**
	 * 远程办公
	 */
	const IS_REMOTE_NO = 0;
	const IS_REMOTE_YES = 1;
	/**
	 * 实习生
	 */
	const IS_TRAINEE_NO = 0;
	const IS_TRAINEE_YES = 1;
	
	/**
	 * 登录名
	 */
	public $UserName;
	/**
	 * 姓名
	 */
	public $RealName;
	/**
	 * 密码
	 */
	public $Password;
	/**
	 * 办公邮箱
	 */
	public $Email;
	/**
	 * 上级领导Id
	 */
	public $LeaderId;
	/**
	 * 权限
	 */
	public $Permission;
	/**
	 * 创建时间
	 */
	public $CreateTime;
	/**
	 * 创建人Id
	 */
	public $CreateBy;
	/**
	 * 状态
	 */
	public $Status;
	/**
	 * 用户所在组
	 */
	public $Groups;
	/**
	 *	领导姓名
	 */
	public $Leader;
	/**
	 * 创建人
	 */
	public $Creater;
	/**
	 * 笔名
	 */
	public $PenName;
	
	public $Mobile = '';
	/**
	 * 工号
	 */
	public $JobNum;
	
	/**
	 * 下级用户
	 */
	public $LowerUser = array();
	/**
	 * 同级用户
	 */
	public $SameUser = array();
	/**
	 * 离职用户
	 */
	public $DimissionUser = array();
	
	public $AttendanceApprove;
	
	public $AttendanceWrong;
	public $AttendanceApproveId = 0;
	/**
	 * 入职时间
	 */
	public $EntryTime;
	/**
	 * 离职时间
	 */
	public $QuitTime;
	/**
	 * 社保时间
	 */
	public $SocialTime;
	/**
	 * 是否有薪资
	 */
	public $IsSalary = 0;
	
	/**
	 * 是否有薪资
	 */
	public $IsFixedWork;
	/**
	 * 是否远程办公
	 */
	public $IsRemote = 0;
	/**
	 * 员工部门
	 */
	public $JobType;
	/**
	 * 是否实习生
	 */
	public $IsTrainee = 0;
	public function __construct(){
		parent::__construct();
		$this->stringField('UserName', 'UserName',false);
		$this->stringField('RealName','RealName',true);
		$this->stringField('Password', 'Password',true);
		$this->stringField('Email', 'Email',true);
		$this->intField('LeaderId', 'LeaderId',true);
		$this->intField('JobType', 'JobType',false);
		$this->intField('Permission', 'Permission',true);
		$this->dateField('CreateTime', 'CreateTime',true);
		$this->intField('Status', 'Status',true);
		$this->intField('CreateBy','CreateBy',true);
		$this->intField('PenName','PenName',true);
		$this->stringField('Mobile', 'Mobile',true);
		$this->intField('JobNum','JobNum',true);
		$this->intField('EntryTime','EntryTime');
		$this->intField('QuitTime','QuitTime');
		$this->intField('SocialTime','SocialTime');
		$this->intField('IsSalary','IsSalary');
		$this->intField('IsFixedWork','IsFixedWork',false,0);
		$this->intField('IsRemote','IsRemote');
		$this->intField('IsTrainee','IsTrainee');
		$this->setTableName('User');
	}
}